private List <InOutMapping> getInOutMappings() { List <InOutMapping> mapping = new List <InOutMapping>(); Tacker tack = delegate(BuildObject dfysource, string filename) { mapping.Add(new InOutMapping( dfysource, this.basmOutputForDafnyModule(filename, BoogieAsmVerifyVerb.BASMIFC_EXTN), this.basmOutputForDafnyModule(filename, BoogieAsmVerifyVerb.BASMIMP_EXTN))); }; DependencyDisposition ddispDummy; foreach (SourcePath dfy in this.getAllDafnyModules(out ddispDummy)) { // Trim off ".dfy" but not ".s" or ".i". string dfyname = dfy.getFileName(); Util.Assert(dfyname.EndsWith(".dfy")); string basename = dfyname.Substring(0, dfyname.Length - 4); Util.Assert(basename.Equals(dfy.getFileNameWithoutExtension())); // TODO delete prior lines. basename = Util.dafnySpecMungeName(basename); if ((this is DafnyCCVerb) && (basename.Equals("Seq") || basename.Equals("Seq_s"))) { // TODO undesirable workaround -- DafnyCC doesn't want 'seq.dfy' in its output list, but DafnySpec does...? continue; } tack(dfy, "dafny_" + basename); } tack(null, "Trusted"); // DafnyCC doesn't really want this, but meh, it emits it, so we account for it. foreach (string basename in this.getExtraSpecialOutputs()) { tack(null, basename); } return(mapping); }
public override void Execute(IList<string> parameters) { var tacker = new Tacker (Directory.GetCurrentDirectory ()); tacker.Logger = (x,y) => Console.WriteLine (x, y); tacker.Tack (); }