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);
        }
예제 #2
0
        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());
        }