org_aspectj_systemtest_incremental_tools_OutputLocationManagerTests_java
org.aspectj.ajdt.internal.core.builder.AjBuildManager$4
private String writeDirectoryEntry(CompilationResult unitResult, ClassFile classFile, String filename) throws IOException {
        String outFile;
        File destinationPath = AjBuildManager.this.buildConfig.getOutputDir();
        if (AjBuildManager.this.buildConfig.getCompilationResultDestinationManager() != null) {
            destinationPath = AjBuildManager.this.buildConfig.getCompilationResultDestinationManager().getOutputLocationForClass(new File(new String(unitResult.fileName)));
        }
        if (destinationPath == null) {
            outFile = new File(filename).getName();
            outFile = new File(AjBuildManager.this.extractDestinationPathFromSourceFile(unitResult), outFile).getPath();
        } else {
            outFile = new File(destinationPath, filename).getPath();
        }
        try {
            BufferedOutputStream os = FileUtil.makeOutputStream(new File(outFile));
            os.write(classFile.getBytes());
            os.close();
        }
        catch (FileNotFoundException fnfe) {
            Message msg = new Message("unable to write out class file: '" + filename + "' - reason: " + fnfe.getMessage(), IMessage.ERROR, null, new SourceLocation(new File(outFile), 0));
            AjBuildManager.this.handler.handleMessage(msg);
        }
        if (AjBuildManager.this.buildConfig.getCompilationResultDestinationManager() != null) {
            AjBuildManager.this.buildConfig.getCompilationResultDestinationManager().reportFileWrite(outFile, 1);
        }
        return outFile;
    }
 -> java.io.File.getAbsolutePath(): java.lang.String -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.io.File.exists(): boolean -> java.io.File.getPath(): java.lang.String -> java.io.File.getParentFile(): java.io.File -> java.io.File.mkdirs(): boolean -> java.io.BufferedOutputStream.write(byte[]): void -> java.io.BufferedOutputStream.close(): void
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.io.File.getAbsolutePath(): java.lang.String -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.io.File.exists(): boolean [EXIT] [EXIT] -> java.io.File.getPath(): java.lang.String [CALL] -> java.io.File.getParentFile(): java.io.File -> java.io.File.mkdirs(): boolean [EXIT] [CALL] [EXIT] -> java.io.BufferedOutputStream.write(byte[]): void -> java.io.BufferedOutputStream.close(): void [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT]