public static void handleSl(List<File> files, IRSettings irSettings,
JavaSettings javaSettings, boolean printCode, File outputDir,
boolean separateTestCode, boolean printWarnings)
{
try
{
JavaCodeGen vdmCodGen = new JavaCodeGen();
vdmCodGen.setSettings(irSettings);
vdmCodGen.setJavaSettings(javaSettings);
Settings.dialect = Dialect.VDM_SL;
TypeCheckResult<List<AModuleModules>> tcResult = TypeCheckerUtil.typeCheckSl(files);
if (GeneralCodeGenUtils.hasErrors(tcResult))
{
MsgPrinter.getPrinter().error("Found errors in VDM model:");
MsgPrinter.getPrinter().errorln(GeneralCodeGenUtils.errorStr(tcResult));
return;
}
GeneratedData data = vdmCodGen.generate(CodeGenBase.getNodes(tcResult.result));
processData(printCode, outputDir, vdmCodGen, data, separateTestCode, printWarnings);
} catch (AnalysisException e)
{
MsgPrinter.getPrinter().println("Could not code generate model: "
+ e.getMessage());
}
}