public class RIFLTransformer
extends java.lang.Object
transform reads a RIFL file
and Java sources and writes JML* information flow specifications to the
original Java files.
changes (weigl, 2016-08-16): changed interfaces to File. This avoid some crud string operations on filenames
| Modifier and Type | Field and Description |
|---|---|
private static JavaProgramFactory |
JPF |
private java.util.List<java.io.File> |
result |
| Constructor and Description |
|---|
RIFLTransformer() |
| Modifier and Type | Method and Description |
|---|---|
void |
doTransform(java.io.File riflFilename,
java.io.File source,
java.io.File savePath) |
private void |
ensureTargetDirExists(java.io.File target) |
private static java.io.File |
getBaseDirPath(java.io.File origSourcePath) |
static java.io.File |
getDefaultSavePath(java.io.File origSourcePath)
Returns the default save path for transformed Java files.
|
java.util.List<java.io.File> |
getProblemFiles() |
static void |
main(java.lang.String[] args)
Entry point for the stand-alone RIFL to JML* tool.
|
private java.util.Map<CompilationUnit,java.io.File> |
readJava(java.io.File root) |
private SpecificationContainer |
readRIFL(java.io.File fileName) |
private java.io.File |
relative(java.io.File root,
java.io.File javaFile) |
static boolean |
transform(java.io.File riflFilename,
java.io.File javaSource) |
static boolean |
transform(java.io.File riflFilename,
java.io.File javaSource,
java.io.File savePath,
KeYRecoderExcHandler kexh)
Transforms plain Java files + RIFL specification to Java+JML* specifications.
|
static boolean |
transform(java.io.File riflFilename,
java.io.File javaSource,
KeYRecoderExcHandler kexh) |
private void |
writeJavaFile(java.io.File target,
CompilationUnit cu)
Writes a single Java file.
|
private void |
writeProblemFile(java.io.File problemFileName,
java.lang.String newJavaFolder,
java.lang.String poname) |
private java.util.List<java.io.File> result
private static final JavaProgramFactory JPF
public RIFLTransformer()
throws javax.xml.parsers.ParserConfigurationException,
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXExceptionpublic static void main(java.lang.String[] args)
public static boolean transform(java.io.File riflFilename,
java.io.File javaSource,
java.io.File savePath,
KeYRecoderExcHandler kexh)
riflFilename - path to a RIFL filejavaSource - path to Java sources (should be a directory)savePath - custom save pathkexh - public static boolean transform(java.io.File riflFilename,
java.io.File javaSource,
KeYRecoderExcHandler kexh)
public static boolean transform(java.io.File riflFilename,
java.io.File javaSource)
public static java.io.File getDefaultSavePath(java.io.File origSourcePath)
origSourcePath - path to a directory or single Java fileprivate static java.io.File getBaseDirPath(java.io.File origSourcePath)
private java.util.Map<CompilationUnit,java.io.File> readJava(java.io.File root) throws java.io.IOException, ParserException
java.io.IOExceptionParserExceptionprivate java.io.File relative(java.io.File root,
java.io.File javaFile)
private SpecificationContainer readRIFL(java.io.File fileName) throws java.io.IOException, org.xml.sax.SAXException, javax.xml.parsers.ParserConfigurationException
java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.parsers.ParserConfigurationExceptionpublic void doTransform(java.io.File riflFilename,
java.io.File source,
java.io.File savePath)
throws java.io.IOException,
org.xml.sax.SAXException,
ParserException,
javax.xml.parsers.ParserConfigurationException
java.io.IOExceptionorg.xml.sax.SAXExceptionParserExceptionjavax.xml.parsers.ParserConfigurationExceptionprivate void writeProblemFile(java.io.File problemFileName,
java.lang.String newJavaFolder,
java.lang.String poname)
private void ensureTargetDirExists(java.io.File target)
throws java.io.IOException
java.io.IOExceptionprivate void writeJavaFile(java.io.File target,
CompilationUnit cu)
throws java.io.IOException
java.io.IOExceptionpublic java.util.List<java.io.File> getProblemFiles()