code: public void instrumentForCoverage() {
      checkState(moduleGraph != null, "No inputs. Did you call init() or initModules()?");
      checkState(!hasErrors());
      runInCompilerThread(
          () -> {
            checkState(options.getInstrumentForCoverageOnly());
            checkState(!hasErrors());
            instrumentForCoverageInternal(options.instrumentBranchCoverage);
            return null;
          });
    }
docs: Instrument code for coverage.
  
  <p>{@code parseForCompilation()} must be called before this method is called.
  
  <p>The caller is responsible for also calling {@code generateReport()} to generate a report of
  warnings and errors to stderr. See the invocation in {@link #compile} for a good example.
  
  <p>This method is mutually exclusive with stage1Passes() and stage2Passes().
  Either call those two methods or this one, but not both.