public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { BuildObject obligations = producer.getObligationSet(); HashSet <BuildObject> deps = new HashSet <BuildObject>(); deps.Add(obligations); try { VerificationObligationList vol = VerificationObligationList.fetch(obligations); this.verification_results = vol.getVerificationObligations(); deps.UnionWith(this.verification_results); ddisp = DependencyDisposition.Complete; } catch (ObjNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjFailedException) { ddisp = DependencyDisposition.Failed; } return(deps); }
public override IVerbWorker getWorker(WorkingDirectory workingDirectory) { IEnumerable<BuildObject> verificationResults = getBoogieVerbs(verificationRequest) .Select(boogie_verb => boogie_verb.getOutputFile()); VerificationObligationList vol = new VerificationObligationList(verificationResults); vol.store(workingDirectory, this.obligations); return new VerbSyncWorker(workingDirectory, new Fresh()); }
public override IVerbWorker getWorker() { IEnumerable <BuildObject> verificationResults = getBoogieVerbs(verificationRequest) .Select(boogie_verb => boogie_verb.getOutputFile()); VerificationObligationList vol = new VerificationObligationList(verificationResults); vol.store(this.obligations); return(new VerbSyncWorker(new Fresh())); }
public override IVerbWorker getWorker(WorkingDirectory workingDirectory) { IEnumerable<BuildObject> verificationResults = this.getVerbs() .Where(verb => verb is VerificationResultVerb) .Select(dfy_one => ((VerificationResultVerb)dfy_one).getOutputFile()); VerificationObligationList vol = new VerificationObligationList(verificationResults); vol.store(workingDirectory, this.obligations); return new VerbSyncWorker(workingDirectory, new Fresh()); }
public override IVerbWorker getWorker() { IEnumerable <BuildObject> verificationResults = getVerbs() .Where(verb => verb is VerificationResultVerb) .Select(dfy_one => ((VerificationResultVerb)dfy_one).getOutputFile()); VerificationObligationList vol = new VerificationObligationList(verificationResults); vol.store(this.obligations); return(new VerbSyncWorker(new Fresh())); }
public override IVerbWorker getWorker() { //- Coallesce the VerificationObligationLists from each producer into a single result set IEnumerable<BuildObject> master = new HashSet<BuildObject>(); foreach (IObligationsProducer producer in producers) { VerificationObligationList vol = VerificationObligationList.fetch(producer.getObligationSet()); master = master.Union(vol.getVerificationObligations()); } VerificationObligationList myVOL = new VerificationObligationList(master); myVOL.store(this.outputObject); return new VerbSyncWorker(new Fresh()); }
public static VerificationObligationList fetch(BuildObject obj) { VerificationObligationList vol = new VerificationObligationList(); using (TextReader sr = BuildEngine.theEngine.Repository.OpenRead(obj)) { string line; while ((line = sr.ReadLine()) != null) { Util.Assert(!line.StartsWith(BuildEngine.theEngine.getSrcRoot())); // unimplemented Util.Assert(!line.StartsWith(BuildEngine.theEngine.getVirtualRoot())); // nonsense vol.Add(new BuildObject(line)); } } vol.complete = true; return vol; }
public static VerificationObligationList fetch(BuildObject obj) { VerificationObligationList vol = new VerificationObligationList(); using (TextReader sr = BuildEngine.theEngine.getNuObjContents().openRead(obj)) { string line; while ((line = sr.ReadLine()) != null) { Util.Assert(!line.StartsWith(BuildEngine.theEngine.getSrcRoot())); //- unimplemented Util.Assert(!line.StartsWith(BuildEngine.theEngine.getVirtualRoot())); //- nonsense vol.Add(new BuildObject(line)); } } vol._fixed = true; return(vol); }
public override IVerbWorker getWorker(WorkingDirectory workingDirectory) { // Coallesce the VerificationObligationLists from each producer into a single result set IEnumerable<BuildObject> master = new HashSet<BuildObject>(); foreach (IObligationsProducer producer in this.producers) { VerificationObligationList vol = VerificationObligationList.fetch(producer.getObligationSet()); master = master.Union(vol.getVerificationObligations()); } VerificationObligationList myVOL = new VerificationObligationList(master); myVOL.store(workingDirectory, this.outputObject); return new VerbSyncWorker(workingDirectory, new Fresh()); }