public SymDiffInferVerb(SymDiffExtractVerb left, SymDiffExtractVerb right) { this.left = left; this.right = right; this.abstractId = new AbstractId(this.GetType().Name, version, left.getOutputFile().ToString().ToString()); // Left should suffice to uniquely ID. }
public SymDiffCombineVerb(SymDiffExtractVerb left, SymDiffExtractVerb right, SymDiffMergeConfigVerb merger) { this.left = left; this.right = right; this.merger = merger; abstractId = new AbstractId(this.GetType().Name, version, left.getOutputFile().ToString()); //- Naming one of the files should be sufficient to uniquely identify the combiner outputFile = mkOutputFile(); }
public static void BuildPipeline(IContextGeneratingVerb context, BuildObject input, out BuildObject bplFile, out IVerb workerVerb) { BoogieAsmVerifyVerb basmVerb = new BoogieAsmVerifyVerb(context, input, true); SymDiffExtractVerb left = new SymDiffExtractVerb(basmVerb, SymDiffExtractVerb.Mode.LEFT); SymDiffExtractVerb right = new SymDiffExtractVerb(basmVerb, SymDiffExtractVerb.Mode.RIGHT); SymDiffInferVerb infer = new SymDiffInferVerb(left, right); SymDiffMergeConfigVerb mergeConfig = new SymDiffMergeConfigVerb(basmVerb, infer); SymDiffCombineVerb combiner = new SymDiffCombineVerb(left, right, mergeConfig); SymDiffMergeVerb merger = new SymDiffMergeVerb(basmVerb, combiner); bplFile = merger.getOutputFile(); workerVerb = merger; }
public SymDiffCombineVerb(SymDiffExtractVerb left, SymDiffExtractVerb right, SymDiffMergeConfigVerb merger) { this.left = left; this.right = right; this.merger = merger; // Naming one of the files should be sufficient to uniquely identify the combiner. this.abstractId = new AbstractId(this.GetType().Name, version, left.getOutputFile().ToString()); ////abstractId = String.Format("{0}(#{1},{2},{3},{4})", //// this.GetType().Name, //// version, //// left.getOutputFile(), //// right.getOutputFile(), //// merger.getOutputFile()); this.outputFile = this.mkOutputFile(); }