public BoogieVerb(IContextGeneratingVerb context, BuildObject bplInput, VerificationRequest.SymDiffMode symdiff) { if (bplInput.getExtension().Equals(BPL_EXTN)) { this.bplInput = bplInput; upstreamVerbs = new List <IVerb>(); // TODO this will probably break, since we don't know where this bplInput came from. Maybe that's okay, since the verb had to already exist to reach this point. } else if (symdiff == VerificationRequest.SymDiffMode.NoSymDiff) { IVerb boogieAsmVerb = new BoogieAsmVerifyVerb(context, bplInput, false); this.bplInput = boogieAsmVerb.getOutputs().First(); upstreamVerbs = new IVerb[] { boogieAsmVerb }; } else { IVerb workerVerb; SymDiffEngine.BuildPipeline(context, bplInput, out this.bplInput, out workerVerb); upstreamVerbs = new IVerb[] { workerVerb }; } this.abstractId = new AbstractId( this.GetType().Name, version, bplInput.ToString(), concrete: symdiff.ToString()); }
public BoogieVerb(IContextGeneratingVerb context, BuildObject bplInput, VerificationRequest.SymDiffMode symdiff) { if (bplInput.getExtension().Equals(BPL_EXTN)) { this.bplInput = bplInput; upstreamVerbs = new List<IVerb>(); // TODO this will probably break, since we don't know where this bplInput came from. Maybe that's okay, since the verb had to already exist to reach this point. } else if (symdiff == VerificationRequest.SymDiffMode.NoSymDiff) { IVerb boogieAsmVerb = new BoogieAsmVerifyVerb(context, bplInput, false); this.bplInput = boogieAsmVerb.getOutputs().First(); upstreamVerbs = new IVerb[] { boogieAsmVerb }; } else { IVerb workerVerb; SymDiffEngine.BuildPipeline(context, bplInput, out this.bplInput, out workerVerb); upstreamVerbs = new IVerb[] { workerVerb }; } this.abstractId = new AbstractId( this.GetType().Name, version, bplInput.ToString(), concrete: symdiff.ToString()); }
BuildObject outputFile() { string outputAppLabel = (appLabel == null ? "" : appLabel) + contextVerb.getPoundDefines().ToString(); string extn = beatobj.getExtension().Equals(BeatExtensions.BEATIFC_EXTN) ? BoogieAsmVerifyVerb.BASMIFC_EXTN : BoogieAsmVerifyVerb.BASMIMP_EXTN; return(beatobj.makeLabeledOutputObject(outputAppLabel, extn)); }
public VerificationResultSummaryVerb(IObligationsProducer producer) { this.producer = producer; BuildObject id = producer.getObligationSet(); //-producer.getIdentifier(); outputObject = id.makeOutputObject(id.getExtension() + SUMMARY_EXTN); abstractId = new AbstractId(this.GetType().Name, version, id.ToString()); verification_results = null; }
internal static BuildObject makeLabeledOutputObject(BuildObject input, string appLabel, string typeExtn) { ModPart part = whichPart(input); if (part == ModPart.Unknown) { // Input must be a raw boogie file. Util.Assert(input.getExtension().EndsWith(BoogieVerb.BPL_EXTN)); return input.makeLabeledOutputObject(appLabel, typeExtn); } else { return input.makeLabeledOutputObject(appLabel, part.ExtnStr() + typeExtn); } }
internal static BuildObject makeLabeledOutputObject(BuildObject input, string appLabel, string typeExtn) { ModPart part = whichPart(input); if (part == ModPart.Unknown) { //- input must be a raw boogie file. Util.Assert(input.getExtension().EndsWith(BoogieVerb.BPL_EXTN)); return(input.makeLabeledOutputObject(appLabel, typeExtn)); } else { return(input.makeLabeledOutputObject(appLabel, part.ExtnStr() + typeExtn)); } }
public static bool isBeat(BuildObject obj) { return(obj.getExtension().Equals(BeatExtensions.BEATIFC_EXTN) || obj.getExtension().Equals(BeatExtensions.BEATIMP_EXTN)); }
public static bool isBasm(BuildObject obj) { return(obj.getExtension().Equals(BASMIFC_EXTN) || obj.getExtension().Equals(BASMIMP_EXTN)); }
public static ModPart whichPart(BuildObject obj) { return(whichPart(obj.getExtension())); }
public static bool isBeat(BuildObject obj) { return obj.getExtension().Equals(BeatExtensions.BEATIFC_EXTN) || obj.getExtension().Equals(BeatExtensions.BEATIMP_EXTN); }
public static bool isBasm(BuildObject obj) { return obj.getExtension().Equals(BASMIFC_EXTN) || obj.getExtension().Equals(BASMIMP_EXTN); }
public static ModPart whichPart(BuildObject obj) { return whichPart(obj.getExtension()); }