// Almost the same arguments for dialyzer and typer, the first argument
// determines which of the two to run.
OtpErlangObject otpArgs[] = new OtpErlangObject[] {
null, // either Dialyzer or typer
new OtpErlangList(new OtpErlangObject[] { new OtpErlangString(
ErlangRunner.getName(f, ERL.BEAM)) }),
new OtpErlangString(ErlangRunner.getName(f, ERL.PLT)),
new OtpErlangList(new OtpErlangObject[] { new OtpErlangString(
ErlangRunner.getName(f, ERL.ERL)) }),
new OtpErlangAtom("types") };
if (!pltFile.canRead() || f.lastModified() > pltFile.lastModified()) {// rebuild the PLT file since the source was modified or the plt file does not exist
pltFile.delete();