/** * Performs the actual deletion (or display, if in dry-run mode) of the typedef annotation * files */ private void deleteAnnotationClasses(@NonNull File classDir) { for (String relative : mAnnotationClassFiles) { File file = new File(classDir, relative.replace('/', File.separatorChar)); if (!file.isFile()) { Extractor.error("Warning: Could not find class file " + file + " for typedef"); continue; } if (mVerbose) { if (mDryRun) { info("Would delete " + file); } else { info("Deleting " + file); } } if (!mDryRun) { boolean deleted = file.delete(); if (!deleted) { Extractor.warning("Could not delete " + file); } } } } }
public void remove(@NonNull File classDir, @NonNull List<String> owners) { if (!mQuiet) { info("Deleting @IntDef and @StringDef annotation class files"); } // Record typedef annotation names and files for (String owner : owners) { addTypeDef(owner); } // Rewrite the .class files for any classes that *contain* typedefs as innerclasses rewriteOuterClasses(classDir); // Removes the actual .class files for the typedef annotations deleteAnnotationClasses(classDir); }