public Disposition complete(ProcessInvokeAsyncWorker worker) { if (worker.pinv.disposition is Fresh) { BeatExtensions.propagatePrivateImports(contextVerb, beatobj, outputFile()); //- And then propagate the NuBuild annotations, too. AnnotationScanner.transferAnnotations( beatobj, outputFile(), BoogieAsmDepBase.CommentSymbol); } return(worker.pinv.disposition); }
public Disposition Complete(WorkingDirectory workingDirectory, double cpuTimeSeconds, string stdout, string stderr, Disposition disposition) { if (disposition is Fresh) { BeatExtensions.propagatePrivateImports(workingDirectory, this.contextVerb, this.beatobj, this.outputFile()); // And then propagate the NuBuild annotations, too. AnnotationScanner.transferAnnotations( workingDirectory, this.beatobj, this.outputFile(), BoogieAsmDepBase.CommentSymbol); } return(disposition); }
public Disposition Complete(WorkingDirectory workingDirectory, double cpuTimeSeconds, string stdout, string stderr, Disposition disposition) { if (disposition is Failed) { return(disposition); } HashSet <string> createdFiles = new HashSet <string>(Directory.GetFiles(workingDirectory.PathTo(this.getAbsDestPath())).Select(path => Path.GetFileName(path))); HashSet <string> expectedFiles = new HashSet <string>(this.getOutputs().Select(obj => obj.getFileName())); // DafnyCC/DafnySpec process a big batch of files together. Did we correctly understand what it did? if (!createdFiles.SetEquals(expectedFiles)) { // REVIEW: These are never used by anything. Remove? bool dummy = createdFiles.SetEquals(expectedFiles); int missing = expectedFiles.Except(createdFiles).Count(); int extra = createdFiles.Except(expectedFiles).Count(); string msg = "Missing files: " + string.Join(",", expectedFiles.Except(createdFiles)) + "\n" + " Extra files: " + string.Join(",", createdFiles.Except(expectedFiles)); return(new Failed(msg)); } // Propagate the NuBuild annotations. foreach (InOutMapping mapping in this.getInOutMappings()) { if (mapping.dfysource != null && this.transformFilterAccepts(mapping.dfysource)) { AnnotationScanner.transferAnnotations( workingDirectory, mapping.dfysource, mapping.basmIfc, BoogieAsmDepBase.CommentSymbol); AnnotationScanner.transferAnnotations( workingDirectory, mapping.dfysource, mapping.basmImp, BoogieAsmDepBase.CommentSymbol); } } return(new Fresh()); }
public Disposition complete(ProcessInvokeAsyncWorker worker) { if (worker.pinv.disposition is Failed) { return(worker.pinv.disposition); } HashSet <string> createdFiles = new HashSet <string>(Directory.GetFiles(getAbsDestPath()).Select(path => Path.GetFileName(path))); HashSet <string> expectedFiles = new HashSet <string>(getOutputs().Select(obj => obj.getFileName())); //- DafnyCC/DafnySpec process a big batch of files together. Verify that we correctly modeled what it did. if (!createdFiles.SetEquals(expectedFiles)) { bool dummy = createdFiles.SetEquals(expectedFiles); int missing = expectedFiles.Except(createdFiles).Count(); int extra = createdFiles.Except(expectedFiles).Count(); string msg = "Missing files: " + String.Join(",", expectedFiles.Except(createdFiles)) + "\n" + " Extra files: " + String.Join(",", createdFiles.Except(expectedFiles)); return(new Failed(msg)); } //- Propagate the NuBuild annotations. foreach (InOutMapping mapping in getInOutMappings()) { if (mapping.dfysource != null && transformFilterAccepts(mapping.dfysource)) { AnnotationScanner.transferAnnotations( mapping.dfysource, mapping.basmIfc, BoogieAsmDepBase.CommentSymbol); AnnotationScanner.transferAnnotations( mapping.dfysource, mapping.basmImp, BoogieAsmDepBase.CommentSymbol); } } return(new Fresh());; }
protected override void postprocess(WorkingDirectory workingDirectory) { AnnotationScanner.transferAnnotations(workingDirectory, basmInput, outputFile(), BoogieVerb.CommentSymbol); }
protected override void postprocess() { AnnotationScanner.transferAnnotations(basmInput, outputFile(), BoogieVerb.CommentSymbol); }