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.ParserConfigurationException
org.xml.sax.SAXException
public 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.IOException
ParserException
private 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.IOException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationException
public 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.IOException
org.xml.sax.SAXException
ParserException
javax.xml.parsers.ParserConfigurationException
private 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.IOException
private void writeJavaFile(java.io.File target, CompilationUnit cu) throws java.io.IOException
java.io.IOException
public java.util.List<java.io.File> getProblemFiles()