@Requires({
    "name != null",
    "data != null",
    "kind != null"
  })
  public static void dump(String name, byte[] data, JavaFileObject.Kind kind) {
    File f = new File(dumpDirectory + "/" + name + kind.extension);
    info("dump", "dumping file " + f);
    f.getParentFile().mkdirs();
    try {
      OutputStream out = new FileOutputStream(f);
      out.write(data);
      out.flush();
      out.close();
    } catch (IOException e) {
      warn("dump", "while dumping " + f + ": " + e.getMessage());
    }
  }
@ Requires ( { "name != null" , "data != null" , "kind != null" } ) public static void dump ( String name , byte [ ] data , JavaFileObject . Kind kind ) { File f = new File ( dumpDirectory + "/" + name + kind . extension ) ; info ( "dump" , "dumping file " + f ) ; f . getParentFile ( ) . mkdirs ( ) ; try { OutputStream out = new FileOutputStream ( f ) ; out . write ( data ) ; out . flush ( ) ; out . close ( ) ; } catch ( IOException e ) { warn ( "dump" , "while dumping " + f + ": " + e . getMessage ( ) ) ; } }
Dumps the specified Java file (source, class, etc.) to the dump
directory (by default, "contracts_for_java.out" in the current
directory).

@param name the qualified class name of the file to dump
@param data the file content
@param kind the kind of file to dump