public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { HashSet<BuildObject> result = DafnyExtensions.getForestDependencies(this.getRoots(), out ddisp); result.Add(this.getExecutable()); result.UnionWith(this.getExtraDependencies()); return result; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; OrderPreservingSet <BuildObject> deps = new OrderPreservingSet <BuildObject>(); // Things we need to stitch the interface: deps.Add(this.genericStitch); deps.Add(this.appSpecificStitch); deps.AddRange(this.mainBeatVerb.getOutputs()); // Things we need to stitch the imports into the imp file: deps.Add(this.entryImpInput); deps.Add(this.context.getContextOutput()); IIncludePathContext pathContext = this.context.fetchIfAvailable(ref ddisp); if (pathContext != null) { this.dafnyMainIfcInput = pathContext.search("dafny_Main_i", ModPart.Ifc); Util.Assert(this.dafnyMainIfcInput != null); deps.Add(this.dafnyMainIfcInput); this.dafnyMainImpInput = pathContext.search("dafny_Main_i", ModPart.Ifc); Util.Assert(this.dafnyMainImpInput != null); deps.Add(this.dafnyMainImpInput); } return(deps); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List<BuildObject> basic = new List<BuildObject>() { this.getLinkerExe(), this.objFile }; basic.AddRange(this.getExtraDependencies()); return basic; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { TransitiveDepsVerb depsVerb = this.getTransitiveDepsVerb(); HashSet<BuildObject> result = depsVerb.getAvailableDeps(out ddisp); result.UnionWith(DafnyExecutableDependencies.getDafnyExecutableDependencies()); return result; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.dependencies == null) { DependencyDisposition dd; var dependencies = new List <BuildObject>(); // This method's implementation is dependent upon transitiveDepsVerb being the only element of verbs. Trace.Assert(this.verbs.Length == 1 && this.verbs[0] is DafnyTransitiveDepsVerb); dependencies.AddRange(this.transitiveDepsVerb.getAvailableDeps(out dd)); dependencies.AddRange(DafnyExecutableDependencies.getDafnyExecutableDependencies()); if (dd != DependencyDisposition.Complete) { ddisp = dd; // Dependency resolution isn't complete yet and we don't want to cache the incomplete list. return(dependencies); } this.dependencies = dependencies; } Trace.Assert(this.dependencies != null); ddisp = DependencyDisposition.Complete; return(this.dependencies); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.dependencies == null) { DependencyDisposition dd; var dependencies = new List<BuildObject>(); // This method's implementation is dependent upon transitiveDepsVerb being the only element of verbs. Trace.Assert(this.verbs.Length == 1 && this.verbs[0] is DafnyTransitiveDepsVerb); dependencies.AddRange(this.transitiveDepsVerb.getAvailableDeps(out dd)); dependencies.AddRange(DafnyExecutableDependencies.getDafnyExecutableDependencies()); if (dd != DependencyDisposition.Complete) { ddisp = dd; // Dependency resolution isn't complete yet and we don't want to cache the incomplete list. return dependencies; } this.dependencies = dependencies; } Trace.Assert(this.dependencies != null); ddisp = DependencyDisposition.Complete; return this.dependencies; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; OrderPreservingSet<BuildObject> deps = new OrderPreservingSet<BuildObject>(); // Things we need to stitch the interface: deps.Add(this.genericStitch); deps.Add(this.appSpecificStitch); deps.AddRange(this.mainBeatVerb.getOutputs()); // Things we need to stitch the imports into the imp file: deps.Add(this.entryImpInput); deps.Add(this.context.getContextOutput()); IIncludePathContext pathContext = this.context.fetchIfAvailable(ref ddisp); if (pathContext != null) { this.dafnyMainIfcInput = pathContext.search("dafny_Main_i", ModPart.Ifc); Util.Assert(this.dafnyMainIfcInput != null); deps.Add(this.dafnyMainIfcInput); this.dafnyMainImpInput = pathContext.search("dafny_Main_i", ModPart.Ifc); Util.Assert(this.dafnyMainImpInput != null); deps.Add(this.dafnyMainImpInput); } return deps; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { //- NB we'll either return the singleton list {obj} if obj isn't yet available, //- or we'll return the entire list of deps on obj's parents. List <BuildObject> deps = new List <BuildObject>(); extendDeps(deps); deps.Add(obj); try { IEnumerable <BuildObject> includes = getIncludeFactory().getIncludes(obj); if (includes.Contains(obj)) { throw new SourceConfigurationError("Include loop starting at " + obj); } deps.AddRange(includes.Select(parent => factory(parent).depsObj())); ddisp = DependencyDisposition.Complete; } catch (ObjNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjFailedException) { ddisp = DependencyDisposition.Failed; } return(deps); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { OrderPreservingSet<BuildObject> deps = BeatExtensions.getBeatFlavoredShallowDependencies( this.contextVerb, this.beatobj, out ddisp, BeatIncludes.ImportFilter.ForBeatOrBasm); deps.Add(this.getBeatExecutable()); return deps; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { // NB we'll either return the singleton list {obj} if obj isn't yet available, // or we'll return the entire list of deps on obj's parents. List<BuildObject> deps = new List<BuildObject>(); this.extendDeps(deps); deps.Add(this.obj); try { IEnumerable<BuildObject> includes = this.getIncludeFactory().getIncludes(this.obj); if (includes.Contains(this.obj)) { throw new SourceConfigurationError("Include loop starting at " + this.obj); } deps.AddRange(includes.Select(parent => this.factory(parent).depsObj())); ddisp = DependencyDisposition.Complete; } catch (ObjectNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjectFailedException) { ddisp = DependencyDisposition.Failed; } return deps; }
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 IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { TransitiveDepsVerb depsVerb = this.getTransitiveDepsVerb(); HashSet <BuildObject> result = depsVerb.getAvailableDeps(out ddisp); result.UnionWith(DafnyExecutableDependencies.getDafnyExecutableDependencies()); return(result); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { OrderPreservingSet <BuildObject> deps = BeatExtensions.getBeatFlavoredShallowDependencies( this.contextVerb, this.beatobj, out ddisp, BeatIncludes.ImportFilter.ForBeatOrBasm); deps.Add(this.getBeatExecutable()); return(deps); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List<BuildObject> result = new List<BuildObject>() { bplInput }; result.Add(getBoogieExecutable()); result.AddRange(getBoogieExecutableDependencies()); return result; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return(new List <BuildObject>() { this.asmFileIn, this.pythonScript }); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { HashSet <BuildObject> result = DafnyExtensions.getForestDependencies(getRoots(), out ddisp); result.Add(getExecutable()); result.UnionWith(getExtraDependencies()); return(result); }
private HashSet <BuildObject> getAvailableDeps(out DependencyDisposition ddisp) { TransitiveDepsVerb depsVerb = new DafnyTransitiveDepsVerb(this.displayRoot); HashSet <BuildObject> availableDeps = depsVerb.getAvailableDeps(out ddisp); availableDeps.Add(this.displayRoot); //- TransitiveDeps *exclude* the root, so we need to add that in, too. return(availableDeps); }
////public BuildObject getMap() { return this.asmFile.makeOutputObject(".map"); } public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return(new List <BuildObject>() { this.getMasmExe(), this.asmVerb.getAsmFile() }); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return(this.customManifest.getDependencies().Union(new List <BuildObject>() { getNmakeExecutable() })); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps()); IEnumerable <BuildObject> result = acc.getDeps(); DependencyDisposition ddisp_extra; IEnumerable <BuildObject> result_extra = getExtraDeps(out ddisp_extra); ddisp = acc.ddisp.combine(ddisp_extra); return(result.Concat(result_extra).Concat(new[] { getBoogieasmExecutable() })); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; // I really don't care how many outputs the parent has; any one will // link me to the parent. IEnumerable<BuildObject> result = this.parent.getOutputs(); Util.Assert(result.Count() > 0); return result; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List<BuildObject> deps = new List<BuildObject>(this.getInputFiles()); deps.Add(getSymDiffMergeExecutable()); // REVIEW: Probably need to add SymDiffMergeExecutable's dependencies too. return deps; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; //- I really don't care how many outputs the parent has; any one will //- link me to the paarent. IEnumerable <BuildObject> result = _parent.getOutputs(); Util.Assert(result.Count() > 0); return(result); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List <BuildObject> basic = new List <BuildObject>() { getLinkerExe(), objFile }; basic.AddRange(getExtraDependencies()); return(basic); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List <BuildObject> deps = new List <BuildObject>(this.getInputFiles()); deps.Add(getSymDiffMergeExecutable()); // REVIEW: Probably need to add SymDiffMergeExecutable's dependencies too. return(deps); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.deps == null) { this.deps = new List<BuildObject>(); foreach (IObligationsProducer producer in producers) { this.deps.Add(producer.getObligationSet()); } } ddisp = DependencyDisposition.Complete; return this.deps; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List<BuildObject> dependencies = new List<BuildObject>(this.solutionParser.getDependencies()); if (this.dafnyCompileOneVerb != null) { dependencies.AddRange(this.dafnyCompileOneVerb.getOutputs()); } return dependencies; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; IEnumerable <BuildObject> deps = getInputFiles(); deps.Union(new List <BuildObject>() { getSymDiffExecutable() }); return(deps); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { List <BuildObject> result = new List <BuildObject>(); result.Add(this.srcObject); result.Add(this.verifyResultsVerb.getOutputFile()); ddisp = DependencyDisposition.Complete; return(result); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; List <BuildObject> dependencies = new List <BuildObject>(this.solutionParser.getDependencies()); if (this.dafnyCompileOneVerb != null) { dependencies.AddRange(this.dafnyCompileOneVerb.getOutputs()); } return(dependencies); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { List<BuildObject> result = new List<BuildObject>(); ////result.Add(this.bootloader); // TODO: Replace with the bootloader verbs's output. result.Add(this.loaderVerb.getExe()); result.Add(this.appVerb.getExe()); result.AddRange(this.batchSummaryVerb.getOutputs()); ddisp = DependencyDisposition.Complete; return result; }
public static DependencyDisposition combine(this DependencyDisposition a, DependencyDisposition b) { if (a == DependencyDisposition.Failed || b == DependencyDisposition.Failed) { return(DependencyDisposition.Failed); } if (a == DependencyDisposition.Incomplete || b == DependencyDisposition.Incomplete) { return(DependencyDisposition.Incomplete); } return(DependencyDisposition.Complete); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { List <BuildObject> result = new List <BuildObject>(); //-result.Add(bootloader); result.Add(loaderVerb.getExe()); result.Add(appVerb.getExe()); result.AddRange(batchSummaryVerb.getOutputs()); ddisp = DependencyDisposition.Complete; return(result); }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { List <BuildObject> result = new List <BuildObject>(); ////result.Add(this.bootloader); // TODO: Replace with the bootloader verbs's output. result.Add(this.loaderVerb.getExe()); result.Add(this.appVerb.getExe()); result.AddRange(this.batchSummaryVerb.getOutputs()); ddisp = DependencyDisposition.Complete; return(result); }
public static DependencyDisposition combine(this DependencyDisposition a, DependencyDisposition b) { if (a == DependencyDisposition.Failed || b == DependencyDisposition.Failed) { return DependencyDisposition.Failed; } if (a == DependencyDisposition.Incomplete || b == DependencyDisposition.Incomplete) { return DependencyDisposition.Incomplete; } return DependencyDisposition.Complete; }
public static HashSet<BuildObject> getForestDependencies(IEnumerable<BuildObject> roots, out DependencyDisposition ddisp) { HashSet<BuildObject> result = new HashSet<BuildObject>(); ddisp = DependencyDisposition.Complete; foreach (BuildObject dfysource in roots) { TransitiveDepsVerb depsVerb = new DafnyTransitiveDepsVerb(dfysource); DependencyDisposition localDDisp; result.UnionWith(depsVerb.getAvailableDeps(out localDDisp)); ddisp = ddisp.combine(localDDisp); result.Add(dfysource); // TransitiveDeps *exclude* the root, so we need to add that in, too. } return result; }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.dependencies == null) { var dependencies = new List <BuildObject>(); // Select and append results returned from verb.getDependencies() to dependencies. // If the dependency disposition is ever reported as not complete, we reflect this through to the caller. dependencies.AddRange(this.verbs.SelectMany(verb => verb.getOutputs())); this.dependencies = dependencies; } Trace.Assert(this.dependencies != null); ddisp = DependencyDisposition.Complete; return(this.dependencies); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.dependencies == null) { var dependencies = new List<BuildObject>(); // Select and append results returned from verb.getDependencies() to dependencies. // If the dependency disposition is ever reported as not complete, we reflect this through to the caller. dependencies.AddRange(this.verbs.SelectMany(verb => verb.getOutputs())); this.dependencies = dependencies; } Trace.Assert(this.dependencies != null); ddisp = DependencyDisposition.Complete; return this.dependencies; }
void getBasmModule(string modName, ModPart modPart) { //-Logger.WriteLine(String.Format("context {0} modName {1} modPart {2}", context, modName, modPart)); //-BuildObject ifcObj = context.search(modName, modPart); BuildObject ifcObj = BuildEngine.theEngine.getHasher().search(context, modName, modPart); if (ifcObj == null) { Util.Assert(false); //- I'm not sure this case even occur anymore, since we guard the foreach on incomplete deps _ddisp = _ddisp.combine(DependencyDisposition.Incomplete); } else { ifcObj = maybeBeat(ifcObj, _mutableVerbSet); _basmModules.Add(ifcObj); } }
public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp) { HashSet <BuildObject> availableDeps = getAvailableDeps(out ddisp); List <BuildObject> true_deps = new List <BuildObject>(); foreach (BuildObject dep in availableDeps) { if (dep.getExtension().EndsWith(DafnyVerifyOneVerb.DAFNY_EXTN)) { true_deps.Add(mkVerificationObject(dep)); } else { true_deps.Add(dep); } } return(true_deps); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { HashSet<BuildObject> availableDeps = this.getAvailableDeps(out ddisp); List<BuildObject> true_deps = new List<BuildObject>(); foreach (BuildObject dep in availableDeps) { if (dep.getExtension().EndsWith(DafnyVerifyOneVerb.DAFNY_EXTN)) { true_deps.Add(this.mkVerificationObject(dep)); } else { true_deps.Add(dep); } } return true_deps; }
internal static IIncludePathContext fetchIfAvailable(this IContextGeneratingVerb verb, ref DependencyDisposition ddisp) { try { return ((ContextContents) BuildEngine.theEngine.Repository.FetchVirtual(verb.getContextOutput())).Context; } catch (ObjectNotReadyException) { // Oh, we don't even have the context object yet. ddisp = ddisp.combine(DependencyDisposition.Incomplete); } catch (ObjectFailedException) { ddisp = ddisp.combine(DependencyDisposition.Failed); } return null; }
protected override IEnumerable <BuildObject> getExtraDeps(out DependencyDisposition ddisp) { try { ddisp = DependencyDisposition.Complete; return(getTrustedBoogieAxioms()); } catch (ObjectNotReadyException) { // All the basms aren't here yet, so we can't scan them. Don't sweat it; // those deps are already being called for. ddisp = DependencyDisposition.Incomplete; return(new BuildObject[] { }); } catch (ObjectFailedException) { ddisp = DependencyDisposition.Failed; return(new BuildObject[] { }); } }
protected virtual IEnumerable <SourcePath> getAllDafnyModules(out DependencyDisposition ddisp) { HashSet <BuildObject> result = DafnyExtensions.getForestDependencies(getRoots(), out ddisp); //- now we assert that all Dafny inputs are actually SourcePaths. HashSet <SourcePath> rc = new HashSet <SourcePath>(); foreach (BuildObject obj in result) { if (obj.getExtension().EndsWith(DafnyVerifyOneVerb.DAFNY_EXTN)) { rc.Add((SourcePath)obj); } else { Util.Assert(obj.getExtension().EndsWith(TransitiveDepsVerb.TDEP_EXTN)); //- discard it. } } return(rc); }
public IEnumerable<BuildObject> getDependencies(IVerb verb, out DependencyDisposition ddisp) { this.dbgQueries += 1; DependencyResult result; bool present = this.theCache.TryGetValue(verb, out result); if (!present) { this.dbgMisses += 1; result = new DependencyResult(); result.deps = verb.getDependencies(out result.ddisp); if (result.ddisp != DependencyDisposition.Incomplete) { // Can't cache incomplete results, since they may change upon // later inspection. this.theCache[verb] = result; } } ddisp = result.ddisp; return result.deps; }
public IEnumerable <BuildObject> getDependencies(IVerb verb, out DependencyDisposition ddisp) { dbgQueries += 1; DependencyResult result; bool present = theCache.TryGetValue(verb, out result); if (!present) { dbgMisses += 1; result = new DependencyResult(); result.deps = verb.getDependencies(out result.ddisp); if (result.ddisp != DependencyDisposition.Incomplete) { //- Can't cache incomplete results, since they may change upon //- later inspection. theCache[verb] = result; } } ddisp = result.ddisp; return(result.deps); }
//- This is a helper method for the downstream verb's getDependencies(). //- It emits this verb's output token so that if this verb is //- not yeat Fresh, the scheduler will strive to get this verb Executed, //- plus if this verb is Fresh, tacks on all of the deps computed by //- this verb. //- The returned HashSet belongs to the caller, who is free //- to stuff more into it. public HashSet <BuildObject> getAvailableDeps(out DependencyDisposition ddisp) { HashSet <BuildObject> result = new HashSet <BuildObject>(); result.Add(depsObj()); try { result.UnionWith(getTransitiveIncludes()); result.Add(obj); //- Add this last, since BoogieAsmLinkVerb appears to depend on this ordering ddisp = DependencyDisposition.Complete; } catch (ObjNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjFailedException) { ddisp = DependencyDisposition.Failed; } return(result); }
// This is a helper method for the downstream verb's getDependencies(). // It emits this verb's output token so that if this verb is // not yeat Fresh, the scheduler will strive to get this verb Executed, // plus if this verb is Fresh, tacks on all of the deps computed by // this verb. // The returned HashSet belongs to the caller, who is free // to stuff more into it. public HashSet<BuildObject> getAvailableDeps(out DependencyDisposition ddisp) { HashSet<BuildObject> result = new HashSet<BuildObject>(); result.Add(this.depsObj()); try { result.UnionWith(this.getTransitiveIncludes()); result.Add(this.obj); // Add this last, since BoogieAsmLinkVerb appears to depend on this ordering ddisp = DependencyDisposition.Complete; } catch (ObjectNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjectFailedException) { ddisp = DependencyDisposition.Failed; } return result; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { BuildObject obligations = this.producer.getObligationSet(); HashSet<BuildObject> deps = new HashSet<BuildObject>(); deps.Add(obligations); try { VerificationObligationList vol = VerificationObligationList.fetch(obligations); this.verificationResults = vol.getVerificationObligations(); deps.UnionWith(this.verificationResults); ddisp = DependencyDisposition.Complete; } catch (ObjectNotReadyException) { ddisp = DependencyDisposition.Incomplete; } catch (ObjectFailedException) { ddisp = DependencyDisposition.Failed; } return deps; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { if (this.deps == null) { this.deps = new List<BuildObject>(); foreach (IObligationsProducer producer in this.producers) { this.deps.Add(producer.getObligationSet()); } } ddisp = DependencyDisposition.Complete; return this.deps; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { List<BuildObject> result = new List<BuildObject>(); result.Add(this.srcObject); result.Add(this.verifyResultsVerb.getOutputFile()); ddisp = DependencyDisposition.Complete; return result; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return this.parents.Select(parent => parent.getContextOutput()); }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return new List<BuildObject>() { this.asmFileIn, this.pythonScript }; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return this.customManifest.getDependencies().Union(new List<BuildObject>() { getNmakeExecutable() }); }
private void getBasmModule(string modName, ModPart modPart) { ////Logger.WriteLine(string.Format("context {0} modName {1} modPart {2}", context, modName, modPart)); ////BuildObject ifcObj = context.search(modName, modPart); BuildObject ifcObj = BuildEngine.theEngine.getHasher().search(context, modName, modPart); if (ifcObj == null) { Util.Assert(false); // I'm not sure this case even occur anymore, since we guard the foreach on incomplete deps. _ddisp = _ddisp.combine(DependencyDisposition.Incomplete); } else { ifcObj = maybeBeat(ifcObj, _mutableVerbSet); _basmModules.Add(ifcObj); } }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps()); IEnumerable<BuildObject> result = acc.getDeps(); DependencyDisposition ddisp_extra; IEnumerable<BuildObject> result_extra = getExtraDeps(out ddisp_extra); ddisp = acc.ddisp.combine(ddisp_extra); return result.Concat(result_extra).Concat(new[] { getBoogieasmExecutable() }); }
protected virtual IEnumerable<BuildObject> getExtraDeps(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return new BuildObject[] { }; }
public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp) { ddisp = DependencyDisposition.Complete; return new BuildObject[] { }; }
protected override IEnumerable<BuildObject> getExtraDeps(out DependencyDisposition ddisp) { try { ddisp = DependencyDisposition.Complete; return getTrustedBoogieAxioms(); } catch (ObjectNotReadyException) { // All the basms aren't here yet, so we can't scan them. Don't sweat it; // those deps are already being called for. ddisp = DependencyDisposition.Incomplete; return new BuildObject[] { }; } catch (ObjectFailedException) { ddisp = DependencyDisposition.Failed; return new BuildObject[] { }; } }