public MethodParamAnnotations run()

in jar-infer/jar-infer-lib/src/main/java/com/uber/nullaway/jarinfer/DefinitelyDerefedParamsDriver.java [179:220]


  public MethodParamAnnotations run(
      String inPaths,
      String pkgName,
      String outPath,
      boolean annotateBytecode,
      boolean stripJarSignatures,
      boolean includeNonPublicClasses,
      boolean dbg,
      boolean vbs)
      throws IOException, ClassHierarchyException {
    DEBUG = dbg;
    VERBOSE = vbs;
    this.annotateBytecode = annotateBytecode;
    this.stripJarSignatures = stripJarSignatures;
    Set<String> setInPaths = new HashSet<>(Arrays.asList(inPaths.split(",")));
    analysisStartTime = System.currentTimeMillis();
    for (String inPath : setInPaths) {
      analyzeFile(pkgName, inPath, includeNonPublicClasses);
      if (this.annotateBytecode) {
        String outFile = outPath;
        if (setInPaths.size() > 1) {
          outFile =
              outPath
                  + "/"
                  + FilenameUtils.getBaseName(inPath)
                  + "-annotated."
                  + FilenameUtils.getExtension(inPath);
        }
        writeAnnotations(inPath, outFile);
      }
    }
    if (!this.annotateBytecode) {
      new File(outPath).getParentFile().mkdirs();
      if (outPath.endsWith(".astubx")) {
        writeModel(new DataOutputStream(new FileOutputStream(outPath)));
      } else {
        writeModelJAR(outPath);
      }
    }
    lastOutPath = outPath;
    return nonnullParams;
  }