org_aspectj_ajde_core_tests_BuildCancellingTest_java
org.aspectj.util.FileUtil
public static int deleteContents(File dir, FileFilter filter, boolean deleteEmptyDirs) {
        if (null == dir) {
            throw new IllegalArgumentException("null dir");
        }
        if (!dir.exists() || !dir.canWrite()) {
            return 0;
        }
        if (!dir.isDirectory()) {
            dir.delete();
            return 1;
        }
        String[] fromFiles = dir.list();
        if (fromFiles == null) {
            return 0;
        }
        int result = 0;
        for (String string : fromFiles) {
            File file = new File(dir, string);
            if (null != filter && !filter.accept(file)) continue;
            if (file.isDirectory()) {
                result += FileUtil.deleteContents(file, filter, deleteEmptyDirs);
                String[] fileContent = file.list();
                if (!deleteEmptyDirs || fileContent == null || 0 != fileContent.length) continue;
                file.delete();
                continue;
            }
            file.delete();
            ++result;
        }
        return result;
    }
 -> java.io.File.exists(): boolean -> java.io.File.canWrite(): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.list(): java.lang.String[] -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.exists(): boolean -> java.io.File.canWrite(): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.list(): java.lang.String[] -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.File.list(): java.lang.String[] -> java.io.File.delete(): boolean
 [CALL] -> java.io.File.exists(): boolean -> java.io.File.canWrite(): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.list(): java.lang.String[] -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean [CALL] -> java.io.File.exists(): boolean -> java.io.File.canWrite(): boolean -> java.io.File.isDirectory(): boolean -> java.io.File.list(): java.lang.String[] -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean -> java.io.FileFilter.accept(java.io.File): boolean [CALL] [EXIT] -> java.io.File.isDirectory(): boolean -> java.io.File.delete(): boolean [EXIT] -> java.io.File.list(): java.lang.String[] -> java.io.File.delete(): boolean [EXIT]